/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.pruebaes.entidades;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.validation.constraints.Size;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlTransient;

/**
 *
 * @author luisfernando
 */
@Entity
@Table(name = "permisos")
@XmlRootElement
@NamedQueries({
    @NamedQuery(name = "Permisos.findAll", query = "SELECT p FROM Permisos p"),
    @NamedQuery(name = "Permisos.findById", query = "SELECT p FROM Permisos p WHERE p.id = :id"),
    @NamedQuery(name = "Permisos.findByFecha", query = "SELECT p FROM Permisos p WHERE p.fecha = :fecha"),
    @NamedQuery(name = "Permisos.findByNumerocilindros", query = "SELECT p FROM Permisos p WHERE p.numerocilindros = :numerocilindros"),
    @NamedQuery(name = "Permisos.findByFechainforme", query = "SELECT p FROM Permisos p WHERE p.fechainforme = :fechainforme"),
    @NamedQuery(name = "Permisos.findByNoinspeccion", query = "SELECT p FROM Permisos p WHERE p.noinspeccion = :noinspeccion"),
    @NamedQuery(name = "Permisos.findByComentario", query = "SELECT p FROM Permisos p WHERE p.comentario = :comentario"),
    @NamedQuery(name = "Permisos.findByEstado", query = "SELECT p FROM Permisos p WHERE p.estado = :estado"),
    @NamedQuery(name = "Permisos.findByRiesgo", query = "SELECT p FROM Permisos p WHERE p.riesgo = :riesgo"),
    @NamedQuery(name = "Permisos.findByObservacion", query = "SELECT p FROM Permisos p WHERE p.observacion = :observacion"),
    @NamedQuery(name = "Permisos.findByUserid", query = "SELECT p FROM Permisos p WHERE p.userid = :userid"),
    @NamedQuery(name = "Permisos.findByFisico", query = "SELECT p FROM Permisos p WHERE p.fisico = :fisico"),
    @NamedQuery(name = "Permisos.findByMunicipio", query = "SELECT p FROM Permisos p WHERE p.municipio = :municipio"),
    @NamedQuery(name = "Permisos.findByTipoluae", query = "SELECT p FROM Permisos p WHERE p.tipoluae = :tipoluae"),
    @NamedQuery(name = "Permisos.findByValorcobroa", query = "SELECT p FROM Permisos p WHERE p.valorcobroa = :valorcobroa"),
    @NamedQuery(name = "Permisos.findByVerificado", query = "SELECT p FROM Permisos p WHERE p.verificado = :verificado"),
    @NamedQuery(name = "Permisos.findByAutoinspeccion", query = "SELECT p FROM Permisos p WHERE p.autoinspeccion = :autoinspeccion"),
    @NamedQuery(name = "Permisos.findByEstadoauditoria", query = "SELECT p FROM Permisos p WHERE p.estadoauditoria = :estadoauditoria"),
    @NamedQuery(name = "Permisos.findByAnio", query = "SELECT p FROM Permisos p WHERE p.anio = :anio")})
public class Permisos implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Basic(optional = false)
    @Column(name = "id")
    private Integer id;
    @Column(name = "fecha")
    @Temporal(TemporalType.DATE)
    private Date fecha;
    @Column(name = "numerocilindros")
    private Integer numerocilindros;
    @Column(name = "fechainforme")
    @Temporal(TemporalType.DATE)
    private Date fechainforme;
    @Size(max = 2147483647)
    @Column(name = "noinspeccion")
    private String noinspeccion;
    @Size(max = 2147483647)
    @Column(name = "comentario")
    private String comentario;
    @Column(name = "estado")
    private Integer estado;
    @Size(max = 2147483647)
    @Column(name = "riesgo")
    private String riesgo;
    @Size(max = 2147483647)
    @Column(name = "observacion")
    private String observacion;
    @Size(max = 2147483647)
    @Column(name = "userid")
    private String userid;
    @Size(max = 2147483647)
    @Column(name = "fisico")
    private String fisico;
    @Column(name = "municipio")
    private Boolean municipio;
    @Size(max = 2147483647)
    @Column(name = "tipoluae")
    private String tipoluae;
    // @Max(value=?)  @Min(value=?)//if you know range of your decimal fields consider using these annotations to enforce field validation
    @Column(name = "valorcobroa")
    private BigDecimal valorcobroa;
    @Column(name = "verificado")
    private Boolean verificado;
    @Column(name = "autoinspeccion")
    private Boolean autoinspeccion;
    @Column(name = "estadoauditoria")
    private Integer estadoauditoria;
    @Column(name = "anio")
    private Integer anio;
    @JoinColumn(name = "localcomercial", referencedColumnName = "id")
    @ManyToOne
    private Locales localcomercial;
    @OneToMany(mappedBy = "permiso")
    private List<Preguntapermisos> preguntapermisosList;
    @OneToMany(mappedBy = "permiso")
    private List<Informes> informesList;
    @OneToMany(mappedBy = "permiso")
    private List<Trackings> trackingsList;
    @OneToMany(mappedBy = "permiso")
    private List<Cabeceraspermiso> cabeceraspermisoList;
    @OneToMany(mappedBy = "permiso")
    private List<Variablesriesgospermiso> variablesriesgospermisoList;
    @OneToMany(mappedBy = "permiso")
    private List<Requeridospermiso> requeridospermisoList;

    public Permisos() {
    }

    public Permisos(Integer id) {
        this.id = id;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Date getFecha() {
        return fecha;
    }

    public void setFecha(Date fecha) {
        this.fecha = fecha;
    }

    public Integer getNumerocilindros() {
        return numerocilindros;
    }

    public void setNumerocilindros(Integer numerocilindros) {
        this.numerocilindros = numerocilindros;
    }

    public Date getFechainforme() {
        return fechainforme;
    }

    public void setFechainforme(Date fechainforme) {
        this.fechainforme = fechainforme;
    }

    public String getNoinspeccion() {
        return noinspeccion;
    }

    public void setNoinspeccion(String noinspeccion) {
        this.noinspeccion = noinspeccion;
    }

    public String getComentario() {
        return comentario;
    }

    public void setComentario(String comentario) {
        this.comentario = comentario;
    }

    public Integer getEstado() {
        return estado;
    }

    public void setEstado(Integer estado) {
        this.estado = estado;
    }

    public String getRiesgo() {
        return riesgo;
    }

    public void setRiesgo(String riesgo) {
        this.riesgo = riesgo;
    }

    public String getObservacion() {
        return observacion;
    }

    public void setObservacion(String observacion) {
        this.observacion = observacion;
    }

    public String getUserid() {
        return userid;
    }

    public void setUserid(String userid) {
        this.userid = userid;
    }

    public String getFisico() {
        return fisico;
    }

    public void setFisico(String fisico) {
        this.fisico = fisico;
    }

    public Boolean getMunicipio() {
        return municipio;
    }

    public void setMunicipio(Boolean municipio) {
        this.municipio = municipio;
    }

    public String getTipoluae() {
        return tipoluae;
    }

    public void setTipoluae(String tipoluae) {
        this.tipoluae = tipoluae;
    }

    public BigDecimal getValorcobroa() {
        return valorcobroa;
    }

    public void setValorcobroa(BigDecimal valorcobroa) {
        this.valorcobroa = valorcobroa;
    }

    public Boolean getVerificado() {
        return verificado;
    }

    public void setVerificado(Boolean verificado) {
        this.verificado = verificado;
    }

    public Boolean getAutoinspeccion() {
        return autoinspeccion;
    }

    public void setAutoinspeccion(Boolean autoinspeccion) {
        this.autoinspeccion = autoinspeccion;
    }

    public Integer getEstadoauditoria() {
        return estadoauditoria;
    }

    public void setEstadoauditoria(Integer estadoauditoria) {
        this.estadoauditoria = estadoauditoria;
    }

    public Integer getAnio() {
        return anio;
    }

    public void setAnio(Integer anio) {
        this.anio = anio;
    }

    public Locales getLocalcomercial() {
        return localcomercial;
    }

    public void setLocalcomercial(Locales localcomercial) {
        this.localcomercial = localcomercial;
    }

    @XmlTransient
    public List<Preguntapermisos> getPreguntapermisosList() {
        return preguntapermisosList;
    }

    public void setPreguntapermisosList(List<Preguntapermisos> preguntapermisosList) {
        this.preguntapermisosList = preguntapermisosList;
    }

    @XmlTransient
    public List<Informes> getInformesList() {
        return informesList;
    }

    public void setInformesList(List<Informes> informesList) {
        this.informesList = informesList;
    }

    @XmlTransient
    public List<Trackings> getTrackingsList() {
        return trackingsList;
    }

    public void setTrackingsList(List<Trackings> trackingsList) {
        this.trackingsList = trackingsList;
    }

    @XmlTransient
    public List<Cabeceraspermiso> getCabeceraspermisoList() {
        return cabeceraspermisoList;
    }

    public void setCabeceraspermisoList(List<Cabeceraspermiso> cabeceraspermisoList) {
        this.cabeceraspermisoList = cabeceraspermisoList;
    }

    @XmlTransient
    public List<Variablesriesgospermiso> getVariablesriesgospermisoList() {
        return variablesriesgospermisoList;
    }

    public void setVariablesriesgospermisoList(List<Variablesriesgospermiso> variablesriesgospermisoList) {
        this.variablesriesgospermisoList = variablesriesgospermisoList;
    }

    @XmlTransient
    public List<Requeridospermiso> getRequeridospermisoList() {
        return requeridospermisoList;
    }

    public void setRequeridospermisoList(List<Requeridospermiso> requeridospermisoList) {
        this.requeridospermisoList = requeridospermisoList;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (id != null ? id.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Permisos)) {
            return false;
        }
        Permisos other = (Permisos) object;
        if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "com.pruebaes.entidades.Permisos[ id=" + id + " ]";
    }
    
}
